Precise Widening Operators for Convex Polyhedra
نویسندگان
چکیده
Convex polyhedra constitute the most used abstract domain among those capturing numerical relational information. Since the domain of convex polyhedra admits infinite ascending chains, it has to be used in conjunction with appropriate mechanisms for enforcing and accelerating convergence of the fixpoint computation. Widening operators provide a simple and general characterization for such mechanisms. For the domain of convex polyhedra, the original widening operator proposed by Cousot and Halbwachs amply deserves the name of standard widening since most analysis and verification tools that employ convex polyhedra also employ that operator. Nonetheless, there is demand for more precise widening operators that still has not been fulfilled. In this paper, after a formal introduction to the standard widening where we clarify some aspects that are often overlooked, we embark on the challenging task of improving on it. We present a framework for the systematic definition of new and precise widening operators for convex polyhedra. The framework is then instantiated so as to obtain a new widening operator that combines several heuristics and uses the standard widening as a last resort so that it is never less precise. A preliminary experimental evaluation has yielded promising results. We also suggest an improvement to the well-known widening delay technique that allows to gain precision while preserving its overall simplicity.
منابع مشابه
Inferring Disjunctive Postconditions
Polyhedral analysis [9] is an abstract interpretation used for automatic discovery of invariant linear inequalities among numerical variables of a program. Convexity of this abstract domain allows efficient analysis but also loses precision via convex-hull and widening operators. To selectively recover the loss of precision, sets of polyhedra (disjunctive elements) may be used to capture more p...
متن کاملInterprocedurally Analyzing Linear Inequalities
We present an abstraction of the effect of procedures through convex sets of transition matrices. Conditional branching is handled by postponing the conditional evaluation after the procedure call. In order to obtain an effective analysis convex sets are approximated by polyhedra. For an efficient implementation we approximate polyhedra by means of simplices. In [CH78], Cousot and Halbwachs pre...
متن کاملInterprocedurally Analyzing Linear Inequality Relations
We present an abstraction of the effect of procedures through convex sets of transition matrices. Conditional branching is handled by postponing the conditional evaluation after the procedure call. In order to obtain an effective analysis convex sets are represented by polyhedra. For an efficient implementation we approximate polyhedra by means of simplices. In [CH78], Cousot and Halbwachs pres...
متن کاملStratified Static Analysis Based on Variable Dependencies
In static analysis by abstract interpretation, one often uses widening operators in order to enforce convergence within finite time to an inductive invariant. Certain widening operators, including the classical one over finite polyhedra, exhibit an unintuitive behavior: analyzing the program over a subset of its variables may lead a more precise result than analyzing the original program! In th...
متن کاملThe Constraint Database Approach to Software Verification
Based on constraint database techniques, we present a new approach to software verification. This new approach has some similarity to abstract interpretation that uses various widening operators; therefore, we call the new approach l-u widening. We show that our l-u widening leads to a more precise over-approximation of the invariants in a program than comparable previously proposed widening op...
متن کامل